package com.mgg.common.dao;

import java.util.List;
import java.util.Map;

public interface DAO {
	
	/**
	 * 保存对象
	 * @param statement
	 * @param obj
	 * @return
	 */
	public Integer save(String statement, Object obj);
	
	/**
	 * 修改对象
	 * @param statement
	 * @param obj
	 * @return
	 */
	public Integer update(String statement, Object obj);
	
	/**
	 * 删除对象 
	 * @param statement
	 * @param obj
	 * @return
	 */
	public Integer delete(String statement, Object obj);

	/**
	 * 查找对象
	 * @param statement
	 * @param obj
	 * @return
	 */
	public <T> T findForObject(String statement, Object obj);

	/**
	 * 查找对象
	 * @param statement
	 * @param obj
	 * @return
	 */
	public <E> List<E> findForList(String statement, Object obj);
	
	/**
	 * 查找对象封装成Map
	 * @param statement
	 * @param parameter
	 * @return
	 */
	public <K, V> Map<K, V> findForMap(String statement, Object parameter, String mapKey);
	
}
